Skip to content

docs: refactor README and AGENTS to current k3s behavior#31

Merged
xnoto merged 4 commits intomainfrom
docs/refactor-current-behavior
Apr 30, 2026
Merged

docs: refactor README and AGENTS to current k3s behavior#31
xnoto merged 4 commits intomainfrom
docs/refactor-current-behavior

Conversation

@xnoto
Copy link
Copy Markdown
Contributor

@xnoto xnoto commented Apr 30, 2026

Summary

  • Rewrite README.md and AGENTS.md to describe the current k3s cluster, vanilla ArgoCD in the argocd namespace, Cloudflare Tunnel + TunnelBindings for external traffic, and WARP-only domains for in-cluster TLS — without referencing prior platforms or migration history.
  • Install kubectl in the CD sync job via azure/setup-kubectl@v4 so the kubectl patch calls against the bootstrap Applications actually run.

Test plan

  • Pre-commit (yamllint, kube-linter) green in CI
  • Push to main triggers the sync job and successfully patches bootstrap-secrets, gitops-operators, gitops-workloads
  • Verify rendered README on github.com matches the new structure

🤖 Generated with Claude Code

xnoto and others added 2 commits April 29, 2026 23:40
The file existed in the workloads/grafana directory but wasn't referenced
in resources, so the OnionService CR for the public status dashboard was
never applied. Adding it brings the onion address listed on
onion.makeitwork.cloud (7m3fv4pd5m...onion) live again.
Also install kubectl in the CD sync job so the bootstrap
Applications can actually be patched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@xnoto xnoto self-assigned this Apr 30, 2026
xnoto and others added 2 commits April 30, 2026 08:52
The previous job installed kubectl explicitly even though the
tfroot-runner image already ships it (Containerfile). Drop the
redundant setup step and target the actual scale set name (arc-tf)
so the job dispatches to an in-cluster runner whose auto-mounted
SA token authenticates kubectl directly — no Actions secrets needed.

Renamed from ci.yml because this workflow lints and deploys; "ci"
implies test-only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Creates an arc-tf-runner ServiceAccount in arc-runners and binds a
Role in argocd that allows get+patch on applications.argoproj.io.
The arc-tf scale set template now mounts this SA, so the in-cluster
sync workflow's `kubectl patch application` runs against the API
using the auto-mounted token.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@xnoto xnoto merged commit cb609dc into main Apr 30, 2026
2 checks passed
@xnoto xnoto deleted the docs/refactor-current-behavior branch April 30, 2026 14:56
xnoto added a commit that referenced this pull request Apr 30, 2026
)

## Summary
The previous `ignoreDifferences` rule on `AutoscalingRunnerSet` ignored
the entire `/spec/template`, which masked legitimate changes like
`serviceAccountName`. Result: even after `arc-tf-runner` was added in
#31, runner pods kept spinning up under the chart's default
`arc-tf-gha-rs-no-permission` SA and the sync workflow failed with
`Forbidden` on `applications.argoproj.io`.

This narrows the ignore to only `/spec/template/metadata/annotations` —
the path the gha-runner-scale-set controller actually mutates with hash
propagation.

## Test plan
- [x] After ArgoCD syncs, `kubectl -n arc-runners get pods -o
jsonpath='{..serviceAccountName}'` shows `arc-tf-runner`
- [x] Push to `main` triggers `Sync ArgoCD` job and successfully patches
the bootstrap Applications

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant